package exception;

/**
 * java异常处理机制:try...catch
 * try{
 *     代码片段
 * }catch(XXXException e){
 *     当try的代码片段出现XXXException异常
 * }
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了。。。");

        try {//try块中如果某句代码出现了异常，那么try块中这句代码以下的代码就都不执行了
            String line = null;
            System.out.println(line.length());
        }/*//catch (NullPointerException e){
           // System.out.println("出现了空指针异常并解决了");//针对try中出现空指针异常的解决方法
        }*/
        //若多个异常具有相同处理方式时，乐意合并到一个catch中进行处理
        catch (NullPointerException | StringIndexOutOfBoundsException exception){
            System.out.println("出现空指针或字符串下标越界异常并解决了");
        }catch (Exception e){//可以在最后捕获超类型异常，凡是该异常的子类都可以被捕获并处理
            System.out.println("出了个错并且解决了");
        }
        System.out.println("程序结束了。。。");
    }
}
